#define  _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>

//int main()
//{
//	char* c[] = { "ENTER","NEW","POINT","FIRST" };
//	char** cp[] = { c + 3,c + 2,c + 1,c };
//	char*** cpp = cp;
//	printf("%s\n", **++cpp);
//	printf("%s\n", *-- * ++cpp + 3);
//	printf("%s\n", *cpp[-2] + 3);
//	printf("%s\n", cpp[-1][-1] + 1);
//	return 0;
//}

#include "list.h"

void test1()
{
	SListNode* phead = NULL;
	SListPushBack(&phead, 1);
	SListPushBack(&phead, 2);
	SListPushBack(&phead, 3);
	SListPushBack(&phead, 4);
	SListPrint(phead);

	SListPushFront(&phead, -1);
	SListPushFront(&phead, -10);
	SListPrint(phead);

	SListPopBack(&phead);
	SListPopBack(&phead);
	SListPopBack(&phead);
	SListPrint(phead);

	SListPopBack(&phead);
	SListPopBack(&phead);
	SListPopBack(&phead);
	SListPrint(phead);

	SListPushBack(&phead, 10);
	SListPrint(phead);

	SListPopBack(&phead);
	SListPrint(phead);


}

void test2()
{
	SListNode* phead = NULL;
	SListPushBack(&phead, 1);
	SListPushBack(&phead, 2);
	SListPushBack(&phead, 3);
	SListPushBack(&phead, 4);
	SListPrint(phead);

	//SListPopFront(&phead);
	//SListPopFront(&phead);
	//SListPrint(phead);

	SListNode* pos = SListFind(phead, 3);
	if (pos)
	{
		SListInsert(&phead, pos, 30);
	}
	SListPrint(phead);
	pos = SListFind(phead, 4);
	if (pos)
	{
		SListErase(&phead, pos);
	}
	SListPrint(phead);

}

int main()
{
	test2();
	return 0;
}